IPGEN: IP packet generator for the G23 IP and UDP test cases.

Usage:
        ipgen file1 file2 ...

Ipgen takes files with IP packet descriptions and writes the described
packets to stdout. The output format is suited for inclusion in the
test case specifications for G23. The grammar of the input files is
described in the file `grammar'. Example:

packet TEST_PACKET_1
  ip_v		4
  ip_hl		7
#  ip_sum	13
  ip_tos	0
  ip_len	256
  ip_id		17
  ip_off	0
  ip_p		17
  ip_src	10.0.0.3
  ip_dst	10.0.0.4
  udp_sport	3425
  udp_dport	4536
  udp_ulen	236
  udp_sum
  data		01 02 03 04 05 06 07 08
  data		21 22 23 24 25 26 27 28
  data        0x45, 0x00, 0x01, 0x00, 
  data        0x00, 0x11, 0x00, 0x02, 
  data        0x01, 0x11, 0x00, 0x00, 
  data        0x0a, 0x00, 0x00, 0x03, 
  data        0x0a, 0x00, 0x00, 0x04, 
end

Fields like ip_len, ip_sum, udp_ulen, and udp_sum are calculated if
not specified. "data" is optional; the packet is filled with random
data until the specified length is reached, if "real_length" is not
specified. "real_length" is a pseudo field that, if specified,
determines the real length of the packet. This way a packet can have a
different (even shorter) length than specified by ip_len.
